home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / ctutor2 / compiler.doc < prev    next >
Text File  |  1986-07-07  |  25KB  |  693 lines

  1. Coronado Enterprises C TUTOR                July 7, 1986
  2.  
  3. COMPILER.DOC file
  4.  
  5. Notes on a few C compilers.
  6.  
  7.      It is assumed that you have a C compiler and that you have
  8. somehow learned to use it.  Some helping hints are given below
  9. for some of the more popular compilers and even if your partic-
  10. ular compiler is not listed, some of the hints given for other
  11. compilers may help you with yours.  Some standards do tend to
  12. exist within compilers and compiler writers tend to do things
  13. basically the same way.  If notes are not given below about your
  14. compiler, we at Coronado Enterprises will be unable to help.  We
  15. have listed notes on all of the compilers we have available for
  16. evaluation or use.  These notes are not intended to be exhaustive
  17. or used as the basis for a final decision on your part to select 
  18. a given compiler.  Exhaustive notes and evaluations are given 
  19. regularly in computer publications.  If you are undecided as to 
  20. which compiler you should use, you are directed to these.
  21.  
  22. ******************************************************************
  23.  
  24. The following compilers have been tested on all files in chapters
  25. 1 through 13 and the results are noted.
  26.  
  27. 1. Aztec C86 version 3.20e (Commercial)    This is a very capa-
  28.       ble compiler that can do nearly anything you ask of it.
  29.       Even so, it is still reasonably small and can easily be 
  30.       used with a dual floppy machine.  It compiles very fast, 
  31.       but was not used enough to gain the experience to comment
  32.       very much on it and its capabilities.  It includes enough
  33.       additional utilities that it seems to have no limit.  The 
  34.       two smaller models were not available for evaluation at 
  35.       all.  Due to the complete lack of an index in the documen-
  36.       tation, and the fact that the documentation assumes a high
  37.       level of proficiency in C, this system is not recommended
  38.       for the beginner.
  39.  
  40. 2. Datalight C compiler - version 1.15    This compiler is very
  41.       inexpensive, but compiles very quickly to an unusually fast
  42.       executing file compared to its price.  However, it does not
  43.       handle I/O properly, (the putchar() does not output to the
  44.       monitor in programs that work with all other compilers), and
  45.       it causes the system to crash following an attempt to link
  46.       files with errors.  Due to these oversights on the part of 
  47.       the compiler writer, this implementation is not recommended
  48.       for any purpose.  If these shortcomings are fixed in future
  49.       releases, it will be a good system for use on a floppy only
  50.       system because the files are small.
  51.  
  52. 3. DeSmet C Compiler - version 2.51       This relatively inexpen-
  53.       sive compiler does an excellent job, especially when consid-
  54.       ering the price.  It compiles very fast and results in fast
  55.       executable files.  It does some things in an unstandard way
  56.       but all compilers do since there is no standard yet.  This
  57.       would be an excellent choice for beginning and for most of
  58.       your programming needs.  It is extremely easy to use.
  59.  
  60. 4. Ecosoft C compiler - ver 3.11 & 3.13    This compiler sells for
  61.       only $59.95 and is as complete a compiler as you can find if
  62.       you only need a small memory model.  Their small model uses
  63.       64K for program and another 64K for data, so the limitation
  64.       is not very severe, and this compiler should meet nearly all
  65.       of your needs.  It does have one small problem that is being
  66.       fixed for all future editions.
  67.  
  68.       During a telephone conversation with Ecosoft, they acknowl-
  69.       edged the problem and told me if I would return the disks,
  70.       they would update them after the problem was fixed.  I did  
  71.       return them as they said, and they updated my disks to 
  72.       version 3.13, but with the problem still not fixed.  Another
  73.       phone call indicated that they had me listed for a free up-
  74.       date when it was fixed. By the time you read this, I expect
  75.       the problem to be history.
  76.  
  77.       The Ecosoft compiler is probably the best value of all comp-
  78.       ilers tested here.
  79.       
  80. 5. Lattice C compiler - version 2.15      This compiler has been 
  81.       replaced with version 3.00 below but since many copies were
  82.       sold, it is very popular.  If you have a choice, don't buy 
  83.       this one since there are far better compilers available for
  84.       the money.
  85.  
  86. 6. Lattice C compiler - version 3.00      This is a very capable
  87.       compiler that still has the ability to be run conveniently
  88.       with only two floppy disks.  If you want a high end compiler
  89.       to use on a dual floppy machine, this is probably your best
  90.       choice.  The documentation is nearly worthless, and you will
  91.       be left with a mess trying to get it set up until you gain
  92.       some experience programming in C.
  93.  
  94. 7. Microsoft C compiler - version 3.0     This is absolutely the
  95.       top of the line compiler and should be your choice if you
  96.       will be engaged in very serious programming.  It seems to 
  97.       have essentially no limitations except that a hard disk is
  98.       required to use it due to the large files.  The documen-
  99.       tation that comes with this compiler is probably the best
  100.       I have ever seen for any compiler for any machine.  It is
  101.       simply fantastic.  It even has a complete definition of the
  102.       C programming language.
  103.  
  104. 8. MIX C compiler - version 1.0.0       This is an inexpensive,
  105.       yet very capable compiler that comes highly recommended for
  106.       the beginning C programmer because it is so easy to use.  
  107.       It was used to develop the vast majority of the example 
  108.       programs in this tutorial and it never failed to do any-
  109.       thing that I called upon it to do.  It does suffer one big
  110.       problem however, and that is the fact that the resultant
  111.       code is very slow running.  It is probably about one tenth 
  112.       the speed of the others, unless you go to the trouble to 
  113.       use the speedup utility included with the compiler.  Using
  114.       it will get the speed up to nearly the speed of the other
  115.       compilers.  It is very simple to use and it would be the
  116.       recommended compiler for use in learning to program in
  117.       C, and especially if you are limited to floppies on your
  118.       machine.  It is definitely worth the $39.95 purchase price.
  119.  
  120.  
  121. ************** Aztec C86 version 3.20e (Commercial) *****************
  122.  
  123. Note; The following suggested setup only uses the small memory and
  124.       program model which is sufficient for nearly all of your
  125.       programming needs.  It is suggested that you simply use this
  126.       configuration and as you gain experience with C, add some of
  127.       the other features.
  128.  
  129.       (suggested floppy disk setup)
  130.   Contents of Drive A
  131. COMMAND.COM
  132. CCL.BAT          (as listed below)
  133. EDIT.COM         (your editor, whatever you use)
  134. STDIO.H          (From the Aztec disks)
  135. CTYPE.H          (From the Aztec disks)
  136. *.C              (the files you wish to compile)
  137.  
  138.   Contents of Drive B 
  139. CC.EXE           (from the Aztec disks)
  140. AS.EXE           (from the Aztec disks, may need to move to a:)
  141. LN.EXE           (from the Aztec disks)
  142. C.LIB            (from the Aztec disks)
  143. M.LIB            (from the Aztec disks)
  144.  
  145.      (suggested hard disk setup)
  146. Put all above files in one directory, and remove the references to 
  147. drive B in the batch file below.
  148.  
  149.  
  150.      (Start of batch file CCL.BAT)
  151. REM THIS IS THE AZTEC C COMPILER
  152. IF EXIST %1 GOTO ERROR
  153. EDIT %1.C
  154. B:CC %1.C
  155. IF ERRORLEVEL 1 GOTO CLERR
  156. B:LN %1.O B:M.LIB B:C.LIB
  157. IF ERRORLEVEL 1 GOTO CLERR
  158. %1
  159. PAUSE
  160. ERASE %1.O
  161. ERASE %1.EXE
  162. ERASE %1.BAK
  163. GOTO DONE
  164.  
  165. :ERROR
  166. REM DO NOT INCLUDE THE .C EXTENSION
  167. PAUSE
  168. GOTO DONE
  169.  
  170. :CLERR
  171. REM COMPILE OR LINK ERROR
  172. PAUSE
  173.  
  174. :DONE
  175.     (end of CCL.BAT file)
  176.  
  177. The following problems were found when using the Aztec C86
  178. compiler on the files in chapters 1 through 13.  The files
  179. included in chapter 14 were not compiled with this compiler.
  180.  
  181. Chapter 5 - BACKWARD.C  This compiler uses more than 8 characters
  182.             of the variable name.  Change both calls to the func-
  183.             tion to read the same, forward_and_backward (lines
  184.             8 and 19).
  185.  
  186. Chapter 9 - SINGLEIO.C  No getch() function. The manual describes
  187.             how to read in a character without waiting for the 
  188.             carriage return on pages "libov.19" through "libov.21".
  189.             It is not a simple thing to do nor is it in any way
  190.             standard (as compared to other systems).  It will not
  191.             be elaborated on here.
  192.  
  193. Chapter 9 - BETTERIN.C  No Getch() function.  See above.
  194.  
  195. Chapter 11 - UNION1.C  The bytes have ff in high order bits if the 
  196.              MSB of the byte is on.  Refer to text about this.
  197.  
  198. Chapter 13 - BITOPS.C  The bytes have ff in high order bits if the
  199.              MSB of the byte is on.  Refer to UNION1.C note.
  200.  
  201. Chapter 13 - UPLOW.C  Change function name to mix_up_the_chars.
  202.  
  203.  
  204.  
  205. ************* DeSmet C Compiler - version 2.51 **********************
  206.  
  207. Note; The following setup can be run on a single floppy system, but 
  208.       you may want to move some of the files to another drive.
  209.  
  210.   Contents of drive A
  211. COMMAND.COM
  212. C88.EXE            (From the DeSmet disks)
  213. GEN.EXE            (From the DeSmet disks)
  214. ASM88.EXE          (From the DeSmet disks)
  215. STDIO.H            (From the DeSmet disks)
  216. BIND.EXE           (From the DeSmet disks)
  217. CSTDIO.S           (From the DeSmet disks)
  218. CCL.BAT            (As defined below)
  219.  
  220. A hard disk setup would be the same.
  221.  
  222.   (Start of batch file CCL.BAT)
  223. REM DESMET C COMPILER
  224. IF EXIST %1 GOTO ERROR
  225. REM THE NEXT LINE CALLS WHATEVER EDITOR YOU USE
  226. EDIT %1.C
  227. C88 %1
  228. IF ERRORLEVEL 1 GOTO CLERR
  229. BIND %1
  230. IF ERRORLEVEL 1 GOTO CLERR
  231. %1
  232. PAUSE
  233. ERASE %1.EXE
  234. ERASE %1.BAK
  235. ERASE %1.O
  236. GOTO DONE
  237.  
  238. :ERROR
  239. REM DO NOT INCLUDE THE .C EXTENSION
  240. PAUSE
  241. GOTO DONE
  242.  
  243. :CLERR
  244. REM COMPILE OR LINK ERROR
  245. PAUSE
  246.  
  247. :DONE
  248.   (End of batch file CCL.BAT)
  249.  
  250. Problems encountered with DeSmet C on files in chapters 1 - 13.
  251. The files in chapter 14 were not attempted with this compiler
  252. and will be left up to the user to try.
  253.  
  254. Chapter 5 - BACKWARD.C  This compiler uses more than eight charac-
  255.             ters of the variable name.  Change both calls to the
  256.             function so they read the same, forward_and_backward
  257.             (lines 8 and 19).
  258.  
  259. Chapter 9 - SIMPLEIO.C  The function getchar() reads in immediately
  260.             which is different from all other compilers.  The dis-
  261.             cussion in the text therefore does not agree with this
  262.             compilers operation.
  263.  
  264. Chapter 9 - SINGLEIO.C  There is no getch() function, but getchar()
  265.             does what it is supposed to do.  Sustitute getchar() 
  266.             for getch() in line 10 and remove the putchar(c) from
  267.             the next line and the program will act as defined in
  268.             the text.
  269.  
  270. Chapter 9 - BETTERIN.C  Same as for SINGLEIO.C above.
  271.  
  272. Chapter 13 - CHARCLAS.C  Remove the #include "ctype.h" from the 
  273.             second line.  It is not needed with this compiler.
  274.  
  275. Chapter 13 - UPLOW.C  Remove the #include "ctype.h" from the second
  276.             line.  It is not needed with this compiler.  Also change
  277.             the function name to mix_up_the_chars because this com-
  278.             piler uses more than 8 characters for a variable name.
  279.       
  280.  
  281.  
  282. ************** Ecosoft C compiler - version 3.11 & 3.13 *************
  283.  
  284.     (recommended setup)
  285. Exactly as listed in the manual - The documentation is excellent and
  286. very clear.  Only the hard disk setup was tested.
  287.  
  288.      (start of batch file used - CCL.BAT)
  289. IF EXIST %1 GOTO ERROR
  290. CED %1.C
  291. CC %1
  292. IF ERRORLEVEL 1 GOTO CLERR
  293. %1
  294. ERASE %1.EXE
  295. ERASE %1.OBJ
  296. ERASE %1.BAK
  297. GOTO DONE
  298.  
  299. :ERROR
  300. REM DO NOT INCLUDE THE .C EXTENSION
  301. PAUSE
  302. GOTO DONE
  303.  
  304. :CLERR
  305. REM COMPILE OR LINK ERROR
  306. PAUSE
  307.  
  308. :DONE
  309.     (end of batch file used)
  310.  
  311.  
  312. Required changes for use with Ecosoft C compiler - ver 3.11 & 3.13
  313.  
  314. Note; During compilation of a few of the files you will get a small
  315.       number of warnings.  These warnings are obvious and are meant
  316.       to be an aid to you in discovering possible errors in your code.
  317.       One of the most obvious is when a floating point number is 
  318.       assigned to an integer.  This is done as an illustration for
  319.       you, but the compiler generates a warning and continues.  The 
  320.       fact that this happens is a positve vote for this compiler.
  321.  
  322. Chapter 5 - BACKWARD.C  This compiler used more than 8 characters for
  323.             a variable name.  Change both calls to the function to 
  324.             read the same, forward_and_backward. (lines 8 and 19)
  325.  
  326. Chapter 10 - READTEXT.C and READGOOD.C  Both of these files use the
  327.             function fscanf() and look for a -1 at the end of the 
  328.             file.  The end of file does not return a -1 and the loop
  329.             continues indefinitely.  This is the compiler error
  330.             mentioned before and they say they are fixing it.
  331.             Recomendation; Do not use this construct at this time.
  332.  
  333. Chapter 11 - UNION1.C  The bytes have ff in the high order bits if 
  334.             the MSB is on.  Refer to text about this.
  335.  
  336. Chapter 12 - All three files.  Add the line #include "malloc.h" to
  337.             the beginning of each file.  This will define the type
  338.             of return malloc will generate and will allow the pro-
  339.             grams to operate as described.  Ecosoft is very picky
  340.             about the constructs used, and requires the header to
  341.             check for problems. 
  342.  
  343. Chapter 13 - BITOPS.C  The bytes have ff in the high order bits if
  344.             the MSB is on.  Refer to text about this.
  345.  
  346. Chapter 13 - UPLOW.C  Change function name to mix_up_the_chars
  347.  
  348. Chapter 14 - As of this writing, none of these files have been com-
  349.             piled with this compiler.
  350.  
  351.  
  352.  
  353. ************** Lattice C compiler - version 2.15 ********************
  354.  
  355. Note; The following suggested setup only uses the small memory and
  356.       program model which is sufficient for nearly all of your 
  357.       programming needs.  It is suggested that you simply use this
  358.       configuration and as you gain experience with C, add some of 
  359.       the other features.
  360.       
  361.       (suggested floppy disk setup)
  362.   Contents of Drive A
  363. COMMAND.COM
  364. CCL.BAT          (as listed below)
  365. EDIT.COM         (your editor, whatever you use)
  366. STDIO.H          (From the Lattice disks)
  367. DOS.H            (From the Lattice disks)
  368. CTYPE.H          (From the Lattice disks)
  369. *.C              (the files you wish to compile)
  370. CS.OBJ           (From the Lattice disks)
  371.  
  372.   Contents of Drive B 
  373. LC1.EXE          (From the Lattice disks)
  374. LC2.EXE          (From the Lattice disks)
  375. LINK.EXE         (From your DOS system disks)
  376. LCMS.LIB         (From the Lattice disks)
  377. LCS.LIB          (From the Lattice disks)
  378.  
  379.      (suggested hard disk setup)
  380. Put all above files in one directory, and remove the references to 
  381. drive B in the batch file below.
  382.  
  383.  
  384.       (start of batch file CCL.BAT)
  385. REM C COMPILER, LATTICE VERSION 2.15
  386. IF EXIST %1 GOTO EXTERR
  387. REM THE NEXT LINE CALLS WHATEVER SCREEN EDITOR YOU USE
  388. EDIT %1.C
  389. B:LC1 %1
  390. IF ERRORLEVEL 1 GOTO P2ABT
  391. B:LC2 %1
  392. IF ERRORLEVEL 1 GOTO WAIT
  393. REM THIS IS THE C LINKER
  394. B:LINK CS+%1,%1,NUL,B:LCMS+B:LCS;
  395. IF ERRORLEVEL 1 GOTO LKERFND
  396. REM THE NEXT LINE IS THE EXECUTION LINE
  397. %1
  398. PAUSE
  399. ERASE %1.EXE
  400. ERASE %1.OBJ
  401. ERASE %1.BAK
  402. GOTO DONE
  403.  
  404. :EXTERR
  405. REM YOU PROBABLY INCLUDED THE .C EXTENTION, DO NOT INCLUDE IT
  406. REM IT WILL CAUSE THE LINKER STEP TO FAIL
  407. PAUSE
  408. GOTO DONE
  409.  
  410. :LKERFND
  411. REM LINK ERROR(S) FOUND
  412. PAUSE
  413. GOTO DONE
  414.  
  415. :P2ABT
  416. REM PASS 2 ABORTED DUE TO PASS 1 ERRORS
  417. PAUSE
  418. GOTO DONE
  419.  
  420. :WAIT
  421. REM PASS 2 ERROR(S) FOUND
  422. PAUSE
  423. :DONE
  424.     ( end of batch file used )
  425.  
  426. The following problems were found when using the Lattice C
  427.  compiler on the files included on this disk.
  428.  
  429. All files - Warning: No STACK segment.
  430.              This message occurs with every file, ignore it.
  431.              It allows you to convert the resultant file to a
  432.              *.COM file whick loads faster. (use EXE2BIN.EXE)
  433.  
  434. Chapter 5 - FLOATSQ.C  Warning 85: function return value mismatch
  435.              This appears to be a bug in the compiler but it 
  436.              doesn't affect the operation of the program.
  437.  
  438. Chapter 11 - NESTED.C  Add the following line as the first line of
  439.              the program to increase the internal stack size.
  440.                 int _stack = 4000;
  441.  
  442. Chapter 11 - UNION1.C  (This program doesn't work with this compiler)
  443.              According to all of the rules for use of C, this 
  444.              file should work just like the text says. Compiling
  445.              it and running it with the other compilers resulted 
  446.              in the following;
  447.  
  448.                 C       C       0
  449.              89AB      AB      89
  450.              134A      4A      13
  451.              9CE9      E9      9C
  452.              2688      88      26
  453.              B027      27      B0
  454.              39C6      C6      39
  455.              C365      65      C3
  456.              4D04       4      4D
  457.  
  458. Note; All files in Chapter 14 compile correctly with this compiler.
  459.       To link the Visual Calculator use;
  460.  
  461.       link cs+vc+data+file+video,vc,,lcms+lcs;
  462.  
  463.  
  464.  
  465. ************** Lattice C compiler - version 3.00 ********************
  466.  
  467. Note; The following suggested setup only uses the small memory and
  468.       program model which is sufficient for nearly all of your 
  469.       programming needs.  It is suggested that you simply use this
  470.       configuration and as you gain experience with C, add some of 
  471.       the other features.
  472.       
  473.       (suggested floppy disk setup)
  474.   Contents of Drive A
  475. COMMAND.COM
  476. CCL.BAT          (as listed below)
  477. EDIT.COM         (your editor, whatever you use)
  478. STDIO.H          (From the Lattice disks)
  479. DOS.H            (From the Lattice disks)
  480. CTYPE.H          (From the Lattice disks)
  481. *.C              (the files you wish to compile)
  482. CS.OBJ           (From the Lattice disks)
  483.  
  484.   Contents of Drive B
  485. LC1.EXE          (From the Lattice disks)
  486. LC2.EXE          (From the Lattice disks)
  487. LINK.EXE         (must be IBM version 2.1 or later)
  488. LCMS.LIB         (From the Lattice disks)
  489. LCS.LIB          (From the Lattice disks)
  490.  
  491.      (suggested hard disk setup)
  492. Put all above files in one directory, and remove the references to 
  493. drive B in the batch file below.
  494.  
  495.  
  496.       (start of batch file CCL.BAT)
  497. REM C COMPILER, LATTICE VERSION 3.00
  498. IF EXIST %1 GOTO EXTERR
  499. REM THE NEXT LINE CALLS WHATEVER SCREEN EDITOR YOU USE
  500. EDIT %1.C
  501. B:LC1 %1
  502. IF ERRORLEVEL 1 GOTO P2ABT
  503. B:LC2 %1
  504. IF ERRORLEVEL 1 GOTO WAIT
  505. REM THIS IS THE C LINKER
  506. B:LINK CS+%1,%1,NUL,B:LCMS+B:LCS;
  507. IF ERRORLEVEL 1 GOTO LKERFND
  508. REM THE NEXT LINE IS THE EXECUTION CALL
  509. %1
  510. PAUSE
  511. ERASE %1.EXE
  512. ERASE %1.OBJ
  513. ERASE %1.BAK
  514. GOTO DONE
  515.  
  516. :EXTERR
  517. REM YOU PROBABLY INCLUDED THE .C EXTENTION, DO NOT INCLUDE IT
  518. REM IT WILL CAUSE THE LINKER STEP TO FAIL
  519. PAUSE
  520. GOTO DONE
  521.  
  522. :LKERFND
  523. REM LINK ERROR(S) FOUND
  524. PAUSE
  525. GOTO DONE
  526.  
  527. :P2ABT
  528. REM PASS 2 ABORTED DUE TO PASS 1 ERRORS
  529. PAUSE
  530. GOTO DONE
  531.  
  532. :WAIT
  533. REM PASS 2 ERROR(S) FOUND
  534. PAUSE
  535. :DONE
  536.     ( end of batch file used )
  537.  
  538. The following problems were found when using the Lattice C
  539.  compiler (version 3.00) on the files included on this disk.
  540.  
  541. Chapter 5 - FLOATSQ.C  Warning 85: function return value mismatch
  542.              This appears to be a bug in the compiler but it 
  543.              doesn't affect the operation of the program.
  544.  
  545. Chapter 11 - NESTED.C  Add the following line as the first line of
  546.              the program to increase the internal stack size.
  547.                 int _stack = 4000;
  548.  
  549. Chapter 11 - UNION1.C   The bytes have ff in high order bits if
  550.              the MSB of the byte is on.  Refer to text about this.
  551.  
  552. Chapter 13 - BITOPS.C   The bytes have ff in high order bits if
  553.              the MSB of the byte is on.
  554.  
  555.  
  556. ******************** Microsoft Version 3.00 *************************
  557.  
  558.    (recommended setup)
  559. Exactly as listed in the manual - The documentation for this compiler
  560. is very clear, and if you follow the instructions as given by Micro-
  561. soft, you will have no problem configuring your system. 
  562.  
  563.    (start of batch file used )
  564. IF EXIST %1 GOTO NOEXT
  565. EDIT %1.C
  566. MSC %1;
  567. IF ERRORLEVEL 1 GOTO ERROR
  568. LINK %1;
  569. IF ERRORLEVEL 1 GOTO ERROR
  570. %1
  571. PAUSE
  572. ERASE %1.EXE
  573. ERASE %1.OBJ
  574. ERASE %1.BAK
  575. GOTO DONE
  576.  
  577. :NOEXT
  578. REM DO NOT INCLUDE THE .C EXTENSION
  579. PAUSE
  580. GOTO DONE
  581.  
  582. :ERROR
  583. REM COMPILE OR LINK ERROR FOUND
  584. PAUSE
  585.  
  586. :DONE
  587.    ( end of batch file )
  588.  
  589. Note; The above batch file assumes a hard disk is being used.
  590.       The Microsoft compiler is extremely capable but because 
  591.       of that, it is also very large and would be very diffi-
  592.       cult to use without a hard disk.  I would not recommend
  593.       that you try to use this compiler unless you have a hard
  594.       disk.  It is possible to use with a floppy based system, 
  595.       but there would be much disk swapping leading to much
  596.       frustation.
  597.  
  598.  
  599.  
  600. Required changes for use with Microsoft C ver 3.0
  601.  
  602. Chapter 5 - BACKWARD.C  This compiler uses more than 8 characters
  603.             of the variable name.  Change both calls to the function
  604.             to read the same, forward_and_backward (lines 8 and 19).
  605.  
  606. Chapter 10 - READTEXT.C  Apparently the system clears the buffer
  607.              before reading into it, so it only outputs an extra
  608.              blank line instead of the word "lines." as described
  609.              in the text.
  610.  
  611. Chapter 11 - READGOOD.C  Notice that the extra blank line is not
  612.              displayed here.
  613.  
  614. Chapter 11 - NESTED.C     *** STACK OVERFLOW ***
  615.              This message occurs during running of the program
  616.              due to a lack of stack space because nearly every
  617.              C compiler defaults to a stack size of 2048 bytes.
  618.              To fix it, change the LINK call to
  619.                  LINK %1 /STACK:4000;
  620.              for this program only.
  621.             
  622. Chapter 11  UNION1.C    The bytes have ff in high order bits if
  623.             the MSB of the byte is on.  Refer to text about this.
  624.  
  625. Chapter 13  UPLOW.C     Change function name to mix_up_the_chars
  626.  
  627. Chapter 13  BITOPS.C    The bytes have ff in high order bits if
  628.             the MSB of the byte is on.
  629.  
  630. Chapter 14  LIST.C & LISTF.C   Removing all references to the print
  631.             file pointer "print_file_point" and using the standard
  632.             predefined pointer "stdprn" for all print operations
  633.             causes immediate print rather than bufferred print. The
  634.             LIST.EXE on the distribution disk uses the standard
  635.             pointer.  The method of printing in the files is used
  636.             by most C compilers, but the standard method may be a
  637.             part of the upcoming ANSI standard.
  638.  
  639. Chapter 14  VC.C, FILE.C, DATA.C, VIDEO.C, and STRUCT.DEF
  640.             Remove all references to "prtfile" and use "stdprn" in 
  641.             lines 123 and 135 of VC.C and in line 170 of FILE.C to
  642.             cause immediate printing instead of delayed buffered 
  643.             printing.  The VC.EXE on the distribution disk was done
  644.             this way and was compiled with the MS 3.00 C compiler.
  645.             You can use the files as is if you don't mind the funny
  646.             printing method.
  647.  
  648. Note;  To link VC.EXE use  link vc+data+file+video;
  649.  
  650.  
  651.  
  652. ************** MIX C compiler - version 1.0.0 ***********************
  653.  
  654.       (suggested floppy disk setup)
  655.   Contents of Drive A
  656. COMMAND.COM
  657. CCL.BAT          (as listed below)
  658. EDIT.COM         (your editor, whatever you use)
  659. STDIO.H          (copied from STDIO on dist diskette)
  660. RUNTIME.OVY      (from your distribution diskette)
  661. SMALLCOM.OVY     (from your distribution diskette)
  662. CLIB.MIX         (from your distribution diskette)
  663. *.C              (the files you wish to compile)
  664.  
  665.   Contents of Drive B
  666. Exact copy of your MIX distribution diskette
  667.  
  668.  
  669.    (start of batch file used CCL.BAT)
  670. REM MIX C COMPILER
  671. REM THE NEXT LINE CALLS WHATEVER FULL SCREEN EDITOR YOU USE
  672. EDIT %1.C
  673. B:CC %1
  674. B:LINKER %1
  675. %1
  676.    ( end of batch file used )
  677.  
  678.  
  679. Note; The following problems were noted when compiling the files
  680.       in chapters 1 to 13 with this compiler.  The files in 
  681.       chapter 14 were not compiled with this compiler.
  682.  
  683. Chapter 9 - SINGLEIO.C  The system supplies a Linefeed for you so
  684.             it doesn't quite work like the book says.
  685.  
  686. Chapter 9 - BETTERIN.C  The system supplies a linefeed for you so
  687.             it doesn't quite work like the book says.
  688.  
  689. Chapter 13 - CHARCLAS.C  Remove #include "ctype.h" from program.
  690.  
  691. Chapter 13 - UPLOW.C  Remove #include "ctype.h" from program.
  692.  
  693.